import request from '@/config/axios'

// 病案复印 VO
export interface MedicalCopyVO {
  id: number // ID
  orgId: string // 机构ID
  orgName: string // 机构名称
  orgCode: string // 机构编码
  applyNo: string // 申请单号
  homepageId: string // 主页ID
  leaveHospitalDate: Date // 出院日期
  leaveHospitalDept: string // 出院科室
  leaveHospitalCertificate: string // 出院证明
  hospitalNo: string // 住院号
  medicalType: string // 病案类型
  purpose: string // 用途
  content: string // 内容
  relation: string // 申请人与病人关系
  patientId: string // 病人ID
  patientType: string // 病人类型
  patientName: string // 病人姓名
  patientCardNo: string // 病人证件号
  patientCardImgFront: string // 病人身份证人像面
  patientCardImgReverse: string // 病人身份证国徽面
  applicantName: string // 申请人姓名
  applicantCardNo: string // 申请人证件号
  applicantCardImgFront: string // 申请人身份证人像面
  applicantCardImgReverse: string // 申请人身份证国徽面
  otherFile: string // 其他文件
  collectType: string // 收取方式
  recipientName: string // 收件人姓名
  recipientPhone: string // 收件人电话
  recipientAddress: string // 收件人地址
  deliveryId: string // 快递公司ID
  deliveryName: string // 快递公司
  deliveryNo: string // 快递单号
  orderNumber: string // 支付订单号
  thirdOrderNo: string // 渠道订单号
  totalPrice: number // 订单金额
  medicalPrice: number // 病案费用
  printPrice: number // 打印费用
  postagePrice: number // 邮寄费用
  servicePrice: number // 服务费用
  otherPrice: number // 其他费用
  payStatus: number // 0 未支付 1 支付成功 2 已退款 3 申请退款
  payTime: Date // 支付时间
  payType: string // 支付方式
  refundNumber: string // 退款订单号
  refundPrice: number // 退款金额
  refundTime: Date // 退款时间
  refundReason: string // 退款原因
  examine: string // 审核意见
  remark: string // 备注
  status: number // 状态
  patientCardImgHandheld: string // 病人身份证手持照
  applicantCardImgHandheld: string // 申请人身份证手持照
}

// 病案复印 API
export const MedicalCopyApi = {
  // 查询病案复印分页
  getMedicalCopyPage: async (params: any) => {
    return await request.get({ url: `/hospital/medical-copy/page`, params })
  },

  // 查询病案复印详情
  getMedicalCopy: async (id: number) => {
    return await request.get({ url: `/hospital/medical-copy/get?id=` + id })
  },

  // 查询支付状态
  queryPayStatus: async (id: number) => {
    return await request.get({ url: `/hospital/medical-copy/query?id=` + id })
  },

  // 新增病案复印
  createMedicalCopy: async (data: MedicalCopyVO) => {
    return await request.post({ url: `/hospital/medical-copy/create`, data })
  },

  // 修改病案复印
  updateMedicalCopy: async (data: MedicalCopyVO) => {
    return await request.put({ url: `/hospital/medical-copy/update`, data })
  },

  // 审核病案复印
  examineMedicalCopy: async (data: MedicalCopyVO) => {
    return await request.post({ url: `/hospital/medical-copy/examine`, data })
  },

  // 发货/取件
  sendMedicalCopy: async (data: MedicalCopyVO) => {
    return await request.post({ url: `/hospital/medical-copy/send`, data })
  },

  // 完成病案复印
  endMedicalCopy: async (data: MedicalCopyVO) => {
    return await request.post({ url: `/hospital/medical-copy/end`, data })
  },

  // 病案复印退款
  refundMedicalCopy: async (data) => {
    return await request.post({ url: `/hospital/medical-copy/refund`, data })
  },

  // 删除病案复印
  deleteMedicalCopy: async (id: number) => {
    return await request.delete({ url: `/hospital/medical-copy/delete?id=` + id })
  },

  // 导出病案复印 Excel
  exportMedicalCopy: async (params) => {
    return await request.download({ url: `/hospital/medical-copy/export-excel`, params })
  }
}
